<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>icu_分词器 | Elasticsearch: 权威指南 | Elastic</title>
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
</head>
<body>
<div class="main-container">
    <section id="content">
        
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原文地址: <a href="https://www.elastic.co/guide/cn/elasticsearch/guide/current/icu-tokenizer.html" rel="nofollow">https://www.elastic.co/guide/cn/elasticsearch/guide/current/icu-tokenizer.html</a>, 版权归 www.elastic.co 所有<br/>
                            英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/guide/current/icu-tokenizer.html" rel="nofollow">https://www.elastic.co/guide/en/elasticsearch/guide/current/icu-tokenizer.html</a>
                            </div>
                        <!-- start body -->
                  <div class="page_header">
<b>请注意:</b><br>本书基于 Elasticsearch 2.x 版本，有些内容可能已经过时。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch: 权威指南</a></span>
»
<span class="breadcrumb-link"><a href="languages.html">处理人类语言</a></span>
»
<span class="breadcrumb-link"><a href="identifying-words.html">词汇识别</a></span>
»
<span class="breadcrumb-node">icu_分词器</span>
</div>
<div class="navheader">
<span class="prev">
<a href="icu-plugin.html">« 安装 ICU 插件</a>
</span>
<span class="next">
<a href="char-filters.html">整理输入文本 »</a>
</span>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="icu-tokenizer"></a>icu_分词器<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elasticsearch-cn/elasticsearch-definitive-guide/edit/cn/210_Identifying_words/40_ICU_tokenizer.asciidoc">edit</a>
</h2>
</div></div></div>
<p><code class="literal">icu_分词器</code> 和 <code class="literal">标准分词器</code> 使用同样的 Unicode 文本分段算法，
只是为了更好的支持亚洲语，添加了泰语、老挝语、中文、日文、和韩文基于词典的词汇识别方法，并且可以使用自定义规则将缅甸语和柬埔寨语文本拆分成音节。</p>
<p>例如，分别比较 <code class="literal">标准分词器</code> 和 <code class="literal">icu_分词器</code> 在分词泰语中的 <code class="literal">'Hello. I am from Bangkok.'</code> 产生的词汇单元：</p>
<div class="pre_wrapper lang-js">
<pre class="programlisting prettyprint lang-js">GET /_analyze?tokenizer=standard
สวัสดี ผมมาจากกรุงเทพฯ</pre>
</div>
<p><code class="literal">标准分词器</code> 产生了两个词汇单元，每个句子一个： <code class="literal">สวัสดี</code> ， <code class="literal">ผมมาจากกรุงเทพฯ</code> 。这个只是你想搜索整个句子 <code class="literal">'I am from Bangkok.'</code> 的时候有用，但是如果你仅想搜索 <code class="literal">'Bangkok.'</code> 则不行。</p>
<div class="pre_wrapper lang-js">
<pre class="programlisting prettyprint lang-js">GET /_analyze?tokenizer=icu_tokenizer
สวัสดี ผมมาจากกรุงเทพฯ</pre>
</div>
<p>相反， <code class="literal">icu_分词器</code> 可以把文本分成独立的单词（ <code class="literal">สวัสดี</code> ， <code class="literal">ผม</code> ， <code class="literal">มา</code> ， <code class="literal">จาก</code> ， <code class="literal">กรุงเทพฯ</code> ），这使得文档更容易被搜索到。</p>
<p>相较而言, <code class="literal">标准分词器</code> 分词中文和日文的时候“过度分词”了，经常将一个完整的词拆分为独立的字符，因为单词之间并没有空格，很难区分连续的字符是间隔的单词还是一个句子中的单字：</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
向的意思是 <em>facing</em> （面对）， 日的意思是 <em>sun</em> （太阳），葵的意思是 <em>hollyhock</em> （蜀葵）。当写在一起的时候, 向日葵的意思是 <em>sunflower</em> （向日葵）。
</li>
<li class="listitem">
五的意思是 <em>five</em> （五）或者  <em>fifth</em> （第五）， 月的意思是 <em>month</em> （月份），雨的意思是 <em>rain</em> （下雨）。
第一个和第二个字符写在一起成了五月，意思是 <em>the month of May</em>（一年中的五月）， 然而添加上第三个字符, 五月雨的意思是
<em>continuous rain</em> （连续不断的下雨,梅雨）。当在合并第四个字符， 式，
意思是 <em>style</em> （样式），五月雨式这个单词则成了一种不屈不挠持续不断的东西的形容词。
</li>
</ul>
</div>
<p>虽然每个字符本身可以是一个单词，但使词汇单元保持更大的原始概念比使其仅作为一个词组的一部分要有意义的多：</p>
<div class="pre_wrapper lang-js">
<pre class="programlisting prettyprint lang-js">GET /_analyze?tokenizer=standard
向日葵

GET /_analyze?tokenizer=icu_tokenizer
向日葵</pre>
</div>
<p><code class="literal">标准分词器</code> 在前面的例子中将每个字符输出为单独的词汇单元： <code class="literal">向</code> ， <code class="literal">日</code> ， <code class="literal">葵</code> 。 <code class="literal">icu_分词器</code> 会输出单个词汇单元 <code class="literal">向日葵</code> （sunflower） 。</p>
<p><code class="literal">标准分词器</code> 和 <code class="literal">icu_分词器</code> 的另一个不同的地方是后者会将不同书写方式的字符（例如，<code class="literal">βeta</code> ）拆分成独立的词汇单元 — <code class="literal">β</code> 和 <code class="literal">eta</code>— ，而前者则会输出单个词汇单元： <code class="literal">βeta</code> 。</p>
</div>
<div class="navfooter">
<span class="prev">
<a href="icu-plugin.html">« 安装 ICU 插件</a>
</span>
<span class="next">
<a href="char-filters.html">整理输入文本 »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>